//package com.common.utils;
//
//import org.apache.maven.model.Model;
//import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
//
//import java.io.File;
//import java.io.FileReader;
//import java.io.InputStream;
//import java.net.URL;
//import java.util.Properties;
//
///**
// * <pre>
// * <b>类描述:</b> maven版本号获取
// * <b>创建日期:</b>2018年5月16日 下午9:29:02
// * </pre>
// * @author xin.ding
// */
//public class MavenUtils {
//    public static String appVersion = null;
//
//    public static void main(String[] args) throws Exception {
//        System.out.println(getVersion());
//    }
//
//    /**
//     * @return 获取版本号
//     */
//    public static String getVersion() throws Exception {
//        if (appVersion == null) {
//            String jarPath = MavenUtils.class.getProtectionDomain().getCodeSource().getLocation().getFile();
//            jarPath = java.net.URLDecoder.decode(jarPath, "UTF-8");
//            try {
//                URL url = new URL("jar:file:" + jarPath + "!/META-INF/maven/com/kingstar/kdata/kdata-libraries/pom.properties");
//                InputStream inputStream = url.openStream();
//                Properties properties = new Properties();
//                properties.load(inputStream);
//                appVersion = properties.getProperty("version");
//            } catch (Exception e) {
//                MavenXpp3Reader reader = new MavenXpp3Reader();
//                String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
//                if (isWindows() && basePath.startsWith("/")) {
//                    basePath = basePath.substring(1);
//                }
//                if (basePath.indexOf("/target/") != -1) {
//                    basePath = basePath.substring(0, basePath.indexOf("/target/"));
//                }
//                Model model = reader.read(new FileReader(new File(basePath + "\\pom.xml")));
//                appVersion = model.getVersion();
//            }
//        }
//        return appVersion;
//    }
//
//    /**
//     * 是否是windows系统
//     */
//    private static boolean isWindows() {
//        String osName = System.getProperty("os.name");
//        return osName != null && osName.toLowerCase().contains("win");
//    }
//
//}